<?php

/**
 * App
 *
 * @package App
 * @subpackage page
 */
require_once 'App.php';

/**
 * * Admin_Faq_Edit_Index
 *
 * <pre>Faq追加変更
 * </pre>
 *
 * @package     App
 * @subpackage  page
 * @author      $Author: moriwaki $
 * @version     $Id: 2008-09-17 moriwaki $
 */
class Admin_Faq_Edit_Index extends App_Page
{
    /**
     * 認証タイプ
     *
     * @var string
     */
    var $auth = App::AUTH_TOOL;

    /**
     * onInit
     *
     * @param array $args queryString
     * @return void
     * @author moriwaki
     */
    function onInit($args)
    {
        $this->buildForm($args);
    }

    /**
     * onAction
     *
     * @param array $submit POSTデータ
     * @return void
     * @author moriwaki
     */
    function onAction($submit)
    {
        $form = BEAR_Form::getInstance();
        $mode = $form->getSubmitHeader('mode');
        if ($mode == 'action') {
            $resource = new BEAR_Resource('faq');
            if (isset($submit['id']) && $submit['id'] > 0) {
                $resource->update($submit);
            }else{
                $resource->create($submit);
            }
            $this->display('index.action.tpl');
        } else {
            /* 確認画面のためフォームを固める */
            $form->freeze();
            $form->setSubmitHeader('mode', 'action');
            $this->display('index.tpl');
        }
    }
 
    /**
     * buildForm
     *
     * @param array $args queryString
     * @return void
     * @author moriwaki
     */
    public static function buildForm($args)
    {
        $form = BEAR_Form::getInstance();
        if (isset($args['id'])){
            $params = array();
            $params['mode'] = 'id';
            $params['id'] = $args['id'];
            $resource = new BEAR_Resource('faq');
            $resource->read($params);
            $view = $resource->getResult();
            
            $form->setDefaults($view);
        }
        /* フォームインプットフィールド */
        $form->addElement('hidden','id');
        $form->addElement('text', 'question', '質問', 'size=30');
        $form->addElement('textarea', 'answer', '答え', 'rows=4 cols=30');
        $form->addElement('text', 'public_time', '公開日時', 'size=30 maxlength=30');
        $form->addElement('reset', 'reset', 'クリア');
        $form->addElement('submit', '_submit', '送信', '');
        /* フィルタ */
        $form->applyFilter('__ALL__', 'trim');
        $form->applyFilter('__ALL__', 'strip_tags');
        /* 検証ルール */
        $form->addRule('question', '質問を入力してください', 'required', null, '');
        $form->addRule('answer', '答えを入力してください', 'required', null, '');
        $form->addRule('public_time', '公開日時を入力してください', 'required', null, '');
    }
}

new BEAR_Main('Admin_Faq_Edit_Index');
